//package com.rainbow.service.impl;
//
//
//import com.rainbow.dao.OrderDao;
//import com.rainbow.dao.TxLogDao;
//import com.rainbow.domain.Order;
//import com.rainbow.domain.TxLog;
//import com.rainbow.service.OrderService;
//import org.apache.rocketmq.spring.core.RocketMQTemplate;
//import org.springframework.beans.factory.annotation.Autowired;
//import org.springframework.messaging.support.MessageBuilder;
//import org.springframework.stereotype.Service;
//import org.springframework.transaction.annotation.Transactional;
//
//import java.util.Date;
//import java.util.UUID;
//
//@Service
//public class OrderServiceImpl4 implements OrderService {
//    @Autowired
//    private OrderDao orderDao;
//
//    @Autowired
//    private RocketMQTemplate rocketMQTemplate;
//    @Autowired
//    private TxLogDao txLogDao;
//    public void createOrderBefore(Order order){
//
//        String txId = UUID.randomUUID().toString();
//        // 发送半事务消息
//        rocketMQTemplate.sendMessageInTransaction("tx_producer_group",
//                "tx_topic", MessageBuilder.withPayload(order)
//                        .setHeader("txId",txId).build(),
//                order);
//        // 此处断点
//    }
//
//    @Transactional
//    public void createOrder(String txId,Order order){
//        orderDao.save(order);
//        TxLog txLog = new TxLog();
//        txLog.setTxId(txId);
//        txLog.setDate(new Date());
//        txLogDao.save(txLog);
//    }
//
//    @Override
//    public void createOrder(Order order) {
//
//    }
//
//    @Override
//    public Order createOrder(Integer pid) {
//        return null;
//    }
//}
